"""
1.学习目标
    掌握selenium多窗口切换
2.语法
    概念：HTML中a标签的target="_blank"
    2.1 获取当前窗口句柄
        driver.current_window_handle
    2.2 获取所有窗口句柄
        driver.window_handles
    2.3 切换窗口
        driver.switch_to.window(需要进入窗口的句柄)
3. 注意
    1. 句柄不会自动切换
"""

# 1.导入需要的包
from time import sleep
from selenium import webdriver
from selenium.webdriver.common.by import By

# 2.创建浏览器驱动, 并打开浏览器
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("http://www.baidu.com")

# 3.元素定位+元素操作
print(driver.current_window_handle)  # 获取当前窗口句柄
# 3.1 定位百度首页,新闻链接
sleep(3)
driver.find_element(By.PARTIAL_LINK_TEXT, "新闻").click()

# 3.2 获取所用窗口句柄
handles = driver.window_handles  # 获取所有窗口句柄---list

# 3.3通过句柄,切换窗口
driver.switch_to.window(handles[1])

# 3.4 对新页面进行操作
sleep(2)
driver.find_element(By.PARTIAL_LINK_TEXT, "陕西发布2022年六大考古新发现").click()

# 4. 关闭浏览器
sleep(3)
driver.quit()
